
// 你可以任意命名 `defineStore()` 的返回值，但最好使用 store 的名字，同时以 `use` 开头且以 `Store` 结尾。
// (比如 `useUserStore`，`useCartStore`，`useProductStore`)

import router from "@/router";
import { defineStore } from "pinia";

// 第一个参数是你的应用中 Store 的唯一 ID。
export const breadcrumbStore=defineStore("breadcrumbStore",{
    //其他配置
      state:()=>({
        collapse:false,
        menus:[],
      }),
    getters:{
      Boolean: (state)=>state.collapse,
      Array:(state)=>state.menus,
    },
     actions:{
      setCollapses(bl){
        this.collapse=bl
    },
       setMenus(data){
        this.menus=data
       },
       addMenus(data){
        this.menus.push(data)
       },
       delMenu(id){
        var arr=[]
        if (this.menus.length!=1) {
          this.menus.forEach((element,index) => {
            if (id!=index) {
              arr.push(element)
            }
          });
          this.menus=arr
          router.push(arr[arr.length-1].path)
        }else{
          this.menus=[]
          router.push("/user/index")
        }
        
       },
       clearMenus(){
        this.menus=[]
       },
       toPath(index){
        var n=this.menus[index]
        var o=this.menus[this.menus.length-1]
        this.menus[this.menus.length-1]=n
        this.menus[index]=o
        setTimeout(()=>{
          router.push(n.path)
        },200)
       }
     },
     //使用持久化
     persist:{
        enabled:true,
        Storage:localStorage,
        key:"menusPersist",
        path:['collapse','menus']
     },
})